// 对象相关
// 对象扩展方法


// 对象字面量的增强
const foo = '123'
const obj = {
    name: 'Alice',
    // foo: foo
    foo, // 如果变量和对象key值是一个值，可以直接写，省略冒号和值
    [Math.random()]: '23232', // 动态属性
    fn() {
        console.log(12)
    }
}
console.log(obj)

// object.assign
const source = {
    a: '123',
    b: '456'
} 
const target = {
    a: '234',
    c: '789'
}
Object.assign(target, source)
console.log(target)
// Object.assign 参数第二个参数起之后的对象都会覆盖目标对象


// 应用场景，复制对象、默认参数等
function func(obj) {   
    const funcObj = Object.assign({}, obj) // 复制对象
    funcObj.name = 'congyang'
    console.log(funcObj)
    console.log(funcObj === obj)
}
const obj2 = {name: 'alice'}
func(obj2)
console.log(obj2)



//


